Telegram Group & Telegram Channel
Как вы используете трансляцию(broadcasting) в Laravel?

Laravel обеспечивает трансляцию событий в реальном времени с помощью каналов и слушателей. Вот как использовать трансляцию в Laravel:

Шаг 1: Создайте событие

Создайте событие, которое должно транслироваться. Вы можете создать событие, выполнив следующую команду в терминале:

php artisan make:event OrderShipped

Эта команда создаст новое событие класса OrderShipped.

Шаг 2: Зарегистрируйте событие в EventServiceProvider

Добавьте событие OrderShipped в свойство $listen в EventServiceProvider. Это позволит транслировать событие на указанный канал(ы).
protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Шаг 3: Создайте канал

Создайте канал, который будет транслировать событие желаемым слушателям. Вы можете создать канал, выполнив следующую команду:

php artisan make:channel OrderChannel

Эта команда создаст новый канал класса OrderChannel.

Шаг 4: Трансляция события

Транслируйте событие OrderShipped на нужный канал (каналы) с помощью метода broadcast.
use App\Events\OrderShipped;

broadcast(new OrderShipped($order))->toOthers();


Это позволит транслировать событие OrderShipped всем другим подключенным клиентам на указанном канале.

Прослушивание транслируемых событий

Чтобы прослушивать транслируемые события, необходимо создать слушателя, который будет получать транслируемое событие. Вот как создать слушателя:

Шаг 1: Создание слушателя

Создайте слушатель, который будет обрабатывать транслируемое событие. Вы можете создать слушателя, выполнив следующую команду:


php artisan make:listener SendShipmentNotification

Эта команда создаст новый класс слушателя SendShipmentNotification.

Шаг 2: Реализация метода Handle

Реализуйте метод handle, чтобы определить, что должно быть сделано при передаче события.

public function handle(OrderShipped $event)
{
// Отправляем уведомление об отгрузке покупателю
}


Шаг 3: Регистрация слушателя

Зарегистрируйте слушатель SendShipmentNotification в свойстве $listen в EventServiceProvider.

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Трансляция с помощью Socket.IO

Laravel предоставляет драйвер вещания Socket.IO из коробки. Чтобы использовать этот драйвер, необходимо установить пакеты socket.io-client и laravel-echo.


npm install --save socket.io-client laravel-echo

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

import Echo from 'laravel-echo'

window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});


Теперь вы можете использовать объект Echo для прослушивания транслируемых событий.

window.Echo.channel('orders')
.listen('.order.shipped', function(data) {
console.log('Заказ отправлен', data);
});

Это позволит прослушать событие order.shipped на канале orders и вывести данные в консоль при получении события.

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.



tg-me.com/php_interview_lib/828
Create:
Last Update:

Как вы используете трансляцию(broadcasting) в Laravel?

Laravel обеспечивает трансляцию событий в реальном времени с помощью каналов и слушателей. Вот как использовать трансляцию в Laravel:

Шаг 1: Создайте событие

Создайте событие, которое должно транслироваться. Вы можете создать событие, выполнив следующую команду в терминале:

php artisan make:event OrderShipped

Эта команда создаст новое событие класса OrderShipped.

Шаг 2: Зарегистрируйте событие в EventServiceProvider

Добавьте событие OrderShipped в свойство $listen в EventServiceProvider. Это позволит транслировать событие на указанный канал(ы).

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Шаг 3: Создайте канал

Создайте канал, который будет транслировать событие желаемым слушателям. Вы можете создать канал, выполнив следующую команду:

php artisan make:channel OrderChannel

Эта команда создаст новый канал класса OrderChannel.

Шаг 4: Трансляция события

Транслируйте событие OrderShipped на нужный канал (каналы) с помощью метода broadcast.
use App\Events\OrderShipped;

broadcast(new OrderShipped($order))->toOthers();


Это позволит транслировать событие OrderShipped всем другим подключенным клиентам на указанном канале.

Прослушивание транслируемых событий

Чтобы прослушивать транслируемые события, необходимо создать слушателя, который будет получать транслируемое событие. Вот как создать слушателя:

Шаг 1: Создание слушателя

Создайте слушатель, который будет обрабатывать транслируемое событие. Вы можете создать слушателя, выполнив следующую команду:


php artisan make:listener SendShipmentNotification

Эта команда создаст новый класс слушателя SendShipmentNotification.

Шаг 2: Реализация метода Handle

Реализуйте метод handle, чтобы определить, что должно быть сделано при передаче события.

public function handle(OrderShipped $event)
{
// Отправляем уведомление об отгрузке покупателю
}


Шаг 3: Регистрация слушателя

Зарегистрируйте слушатель SendShipmentNotification в свойстве $listen в EventServiceProvider.

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Трансляция с помощью Socket.IO

Laravel предоставляет драйвер вещания Socket.IO из коробки. Чтобы использовать этот драйвер, необходимо установить пакеты socket.io-client и laravel-echo.


npm install --save socket.io-client laravel-echo

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

import Echo from 'laravel-echo'

window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});


Теперь вы можете использовать объект Echo для прослушивания транслируемых событий.

window.Echo.channel('orders')
.listen('.order.shipped', function(data) {
console.log('Заказ отправлен', data);
});

Это позволит прослушать событие order.shipped на канале orders и вывести данные в консоль при получении события.

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

BY Библиотека собеса по PHP | вопросы с собеседований


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/php_interview_lib/828

View MORE
Open in Telegram


Библиотека собеса по PHP | вопросы с собеседований Telegram | DID YOU KNOW?

Date: |

Spiking bond yields driving sharp losses in tech stocks

A spike in interest rates since the start of the year has accelerated a rotation out of high-growth technology stocks and into value stocks poised to benefit from a reopening of the economy. The Nasdaq has fallen more than 10% over the past month as the Dow has soared to record highs, with a spike in the 10-year US Treasury yield acting as the main catalyst. It recently surged to a cycle high of more than 1.60% after starting the year below 1%. But according to Jim Paulsen, the Leuthold Group's chief investment strategist, rising interest rates do not represent a long-term threat to the stock market. Paulsen expects the 10-year yield to cross 2% by the end of the year. A spike in interest rates and its impact on the stock market depends on the economic backdrop, according to Paulsen. Rising interest rates amid a strengthening economy "may prove no challenge at all for stocks," Paulsen said.

Telegram Gives Up On Crypto Blockchain Project

Durov said on his Telegram channel today that the two and a half year blockchain and crypto project has been put to sleep. Ironically, after leaving Russia because the government wanted his encryption keys to his social media firm, Durov’s cryptocurrency idea lost steam because of a U.S. court. “The technology we created allowed for an open, free, decentralized exchange of value and ideas. TON had the potential to revolutionize how people store and transfer funds and information,” he wrote on his channel. “Unfortunately, a U.S. court stopped TON from happening.”

Библиотека собеса по PHP | вопросы с собеседований from in


Telegram Библиотека собеса по PHP | вопросы с собеседований
FROM USA